#!/usr/bin/perl -w
######################################################################
# Copyright (c) 2001-2010, Younghong "Hong" Cho <hongcho@sori.org>.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
#   1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#   2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#   3. Neither the name of the organization nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
######################################################################
# kidsql_job_wrapper.pl
# == History
# 2010-11-26 Created (the script was not exiting correctly for some reason)
######################################################################

use strict;

my $TAG = 'kidsql_job_wrapper';
my $CMD = 'kidsql_job.pl';
my $CMD_FULL = $ENV{HOME}.'/bin/'.$CMD;
select((select(STDOUT), $|=1)[0]);
select((select(STDERR), $|=1)[0]);

# kill all previous childs first.
print(STDERR $TAG, " killall -9 $CMD:", `killall -9 $CMD`, "\n");

# Uncomment to suspend update by cron.
#exit(0);

my $pid = fork();
defined($pid) or die("$TAG cannot fork: $!\n");
if ($pid) {
    # Parent
    exit(0);
} else {
    # Child
    exec($CMD_FULL) or die("$TAG cannot exec $CMD_FULL: $!\n");
}
